package com.hopes.bizz.poll.common.constant.enums;

import com.hopes.bizz.poll.common.api.feign.RemotePollDictService;
import com.hopes.boss.admin.api.resolver.EnumResolver;
import com.hopes.boss.admin.api.resolver.IDict;

/**
 * @author yumr
 * @ProjectName bizz
 * @Description 环保模块字典
 * @time 2023/5/19 9:53
 */
public enum PollModDictEnum implements EnumResolver<RemotePollDictService> {

    /* 因子信息 */
    factor_info("listFactorInfoAsDict"),

    /* 因子信息，通过code获取 */
    factor_info_code("listFactorInfoByCodeAsDict"),

    /* 监控站点 */
    monitor_site("listMonitorSiteAsDict"),

    /* 监控站点mn */
    monitor_site_mn("queryMonitorSiteMnAsLabelValue"),

    /* 监控站点-乡镇 */
    monitor_site_town("queryMonitorSiteTownAsLabelValue"),

    town_info("listTownInfoAsDict"),

    site_type("siteTypeAsDict"),

    site_type_air("siteTypeAirAsDict"),

    site_type_poll("siteTypePollAsDict"),

    site_type_water("siteTypeWaterAsDict"),

    /* 视频区域 */
    region_id("queryRegionIdAsLabelValue"),

    /* 水源地保护区 */
    water_area_info("listWaterAreaInfoAsDict"),

    ;


    private final String methodName;

    private Class<? extends IDict> remoteClass = RemotePollDictService.class;

    PollModDictEnum(String methodName) {
        this.methodName = methodName;
    }

    PollModDictEnum(String methodName, Class<? extends IDict> remoteClass) {
        this.methodName = methodName;
        this.remoteClass = remoteClass;
    }

    @Override
    public String getType() {
        return this.name();
    }

    @Override
    public String getMethodName() {
        return methodName;
    }

    @Override
    public Class<? extends IDict> getRemoteClass() {
        return remoteClass;
    }
}
